#include<stdio.h>
#include<stdlib.h>
#define sc scanf
#define pr printf
typedef struct map{
	int data;
	struct map *next[107];
	int tail;
}Map;
//Map a[107];
int n,m;
int main()
{
	int i,j;
	Map *head=NULL,*p1=NULL,*p2=NULL,*temp=NULL;
	head=(Map*)malloc(sizeof(Map));
	while(1){
		sc("%d%d",&n,&m);getchar();
		if(n==0&&m==0)	break;
		
		sc("%d%d",&i,&j);getchar();
		p1=(Map*)malloc(sizeof(Map));
		p2=(Map*)malloc(sizeof(Map));
		p1->data=i;p2->data=j;
		p1->next=p2;
		p1->tail++;
		head=p1;
		while(--m){
			p1=p2=NULL;
			sc("%d%d",&i,&j);getchar();
			temp=head;
			while(temp->tail){
				if(temp->data==i)
					p1=temp;
				if(temp->data==j)
					p2=temp;
				temp=temp->next;
			}
			if(p1==NULL){
				p1=(Map*)malloc(sizeof(Map));
				p1->data=i;
			}
			if(p2==NULL){
				p2=(Map*)malloc(sizeof(Map));
				p2->data=j;
			}
			p1->next=p2;
			p1->tail++;
			
		}
		
	}
	return 0;
}
